home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d13 / patch12.arc / TCPATCH4.DIF < prev    next >
Text File  |  1990-10-02  |  2KB  |  58 lines

  1. TurboC2.0 Patched to fix uniquepipe() of popen.c
  2. Prereq: 3
  3. *** tcpatlev.h    Wed Jul 18 15:39:44 1990
  4. --- tcpatlev.new    Wed Jul 18 15:48:16 1990
  5. ***************
  6. *** 1,1 ****
  7. ! #define TCPATCHLEVEL 3
  8. --- 1,1 ----
  9. ! #define TCPATCHLEVEL 4
  10. *** readme    Wed Jul 18 15:39:48 1990
  11. --- readme.new    Wed Jul 18 15:46:38 1990
  12. ***************
  13. *** 162,164 ****
  14. --- 162,185 ----
  15.   177: possibly incorrect assignment ....
  16.   the message is misleading (see the Turbo C User Manual).
  17.   
  18. + *** OFFICIAL PATCHLEVEL 12, TurboC2.0 PATCHLEVEL 4
  19. + From: leefi@microsoft.wa.com (lee fisher)
  20. + Subject: re: MSDOS Patch: more patches
  21. + Date: Mon Jul 16 13:08:47 1990
  22. + In the above function uniquepipe() of popen.c, the format for the pipe 
  23. + name ("pipe%05d.tmp") will generate an invalid file name for DOS. In 
  24. + the DOS FAT file system, the base filename can only be 8 characters 
  25. + (with a maximum file name extension of 3 characters), anything greater 
  26. + than this will be silently truncated by DOS. Thus, pipe00000.tmp is 9.3, 
  27. + where the DOS max is 8.3, so isn't there a problem where pipe00001 and 
  28. + pipe00002 will get confused? 
  29. + How about %04d instead. I would think that making the assumption that 
  30. + this implementation of pipes for DOS will only have 9999 pipes at any
  31. + given point in time would be better than losing the rightmost digit
  32. + in the current implementation.
  33. + (this bug is now fixed)
  34. *** popen.c    Wed Jul 18 15:40:16 1990
  35. --- popen.new    Wed Jul 18 15:47:42 1990
  36. ***************
  37. *** 153,159 ****
  38.   { 
  39.      static char name[ 14 ];
  40.      static short int num = 0;
  41. !    (void) sprintf( name, "pipe%05d.tmp", num++ );
  42.      return( name );
  43.   }
  44.   
  45. --- 153,159 ----
  46.   { 
  47.      static char name[ 14 ];
  48.      static short int num = 0;
  49. !    (void) sprintf( name, "pipe%04d.tmp", num++ );
  50.      return( name );
  51.   }
  52.   
  53.